Knuth's Up-arrow Notation
   HOME

TheInfoList



OR:

In
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, Knuth's up-arrow notation is a method of notation for very large
integers An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign (−1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the language o ...
, introduced by
Donald Knuth Donald Ervin Knuth ( ; born January 10, 1938) is an American computer scientist, mathematician, and professor emeritus at Stanford University. He is the 1974 recipient of the ACM Turing Award, informally considered the Nobel Prize of computer sc ...
in 1976. In his 1947 paper, R. L. Goodstein introduced the specific sequence of operations that are now called ''hyperoperations''. Goodstein also suggested the Greek names
tetration In mathematics, tetration (or hyper-4) is an operation based on iterated, or repeated, exponentiation. There is no standard notation for tetration, though \uparrow \uparrow and the left-exponent ''xb'' are common. Under the definition as rep ...
,
pentation In mathematics, pentation (or hyper-5) is the next hyperoperation after tetration and before hexation. It is defined as iterated (repeated) tetration, just as tetration is iterated exponentiation. It is a binary operation defined with two numb ...
, etc., for the extended operations beyond
exponentiation Exponentiation is a mathematical operation, written as , involving two numbers, the '' base'' and the ''exponent'' or ''power'' , and pronounced as " (raised) to the (power of) ". When is a positive integer, exponentiation corresponds to re ...
. The sequence starts with a
unary operation In mathematics, an unary operation is an operation with only one operand, i.e. a single input. This is in contrast to binary operations, which use two operands. An example is any function , where is a set. The function is a unary operation on ...
(the
successor function In mathematics, the successor function or successor operation sends a natural number to the next one. The successor function is denoted by ''S'', so ''S''(''n'') = ''n'' +1. For example, ''S''(1) = 2 and ''S''(2) = 3. The successor functio ...
with ''n'' = 0), and continues with the
binary operation In mathematics, a binary operation or dyadic operation is a rule for combining two elements (called operands) to produce another element. More formally, a binary operation is an operation of arity two. More specifically, an internal binary op ...
s of
addition Addition (usually signified by the Plus and minus signs#Plus sign, plus symbol ) is one of the four basic Operation (mathematics), operations of arithmetic, the other three being subtraction, multiplication and Division (mathematics), division. ...
(''n'' = 1),
multiplication Multiplication (often denoted by the cross symbol , by the mid-line dot operator , by juxtaposition, or, on computers, by an asterisk ) is one of the four elementary mathematical operations of arithmetic, with the other ones being additi ...
(''n'' = 2),
exponentiation Exponentiation is a mathematical operation, written as , involving two numbers, the '' base'' and the ''exponent'' or ''power'' , and pronounced as " (raised) to the (power of) ". When is a positive integer, exponentiation corresponds to re ...
(''n'' = 3),
tetration In mathematics, tetration (or hyper-4) is an operation based on iterated, or repeated, exponentiation. There is no standard notation for tetration, though \uparrow \uparrow and the left-exponent ''xb'' are common. Under the definition as rep ...
(''n'' = 4),
pentation In mathematics, pentation (or hyper-5) is the next hyperoperation after tetration and before hexation. It is defined as iterated (repeated) tetration, just as tetration is iterated exponentiation. It is a binary operation defined with two numb ...
(''n'' = 5), etc. Various notations have been used to represent hyperoperations. One such notation is H_n(a,b). Knuth's up-arrow notation \uparrow is an alternative notation. It is obtained by replacing /math> in the square bracket notation by n-2 arrows. For example: * the single arrow \uparrow represents
exponentiation Exponentiation is a mathematical operation, written as , involving two numbers, the '' base'' and the ''exponent'' or ''power'' , and pronounced as " (raised) to the (power of) ". When is a positive integer, exponentiation corresponds to re ...
(iterated multiplication) 2 \uparrow 4 = H_3(2,4) = 2\times(2\times(2\times 2)) = 2^4 = 16 * the double arrow \uparrow\uparrow represents
tetration In mathematics, tetration (or hyper-4) is an operation based on iterated, or repeated, exponentiation. There is no standard notation for tetration, though \uparrow \uparrow and the left-exponent ''xb'' are common. Under the definition as rep ...
(iterated exponentiation) 2 \uparrow\uparrow 4 = 2 = 2 \uparrow (2 \uparrow (2 \uparrow 2))= 2^ = 2^ = 65,536 * the triple arrow \uparrow\uparrow\uparrow represents
pentation In mathematics, pentation (or hyper-5) is the next hyperoperation after tetration and before hexation. It is defined as iterated (repeated) tetration, just as tetration is iterated exponentiation. It is a binary operation defined with two numb ...
(iterated tetration) \begin 2 \uparrow\uparrow\uparrow 4 = H_5(2,4) = 2 \uparrow\uparrow (2 \uparrow\uparrow (2 \uparrow\uparrow 2 ))\\ &= 2 \uparrow\uparrow (2 \uparrow\uparrow (2 \uparrow 2 ))\\ &= 2 \uparrow\uparrow (2 \uparrow\uparrow 4 )\\ &= \underbrace \; = \; \underbrace\\ & \;\;\;\;\; 2 \uparrow\uparrow 4 \mbox 2 \;\;\;\;\; \mbox\\ \end The general definition of the up-arrow notation is as follows (for a \ge 0, n \ge 1, b \ge 0): a\uparrow^nb = H_(a,b) = a +2 Here, \uparrow^n stands for ''n'' arrows, so for example 2 \uparrow\uparrow\uparrow\uparrow 3 = 2\uparrow^4 3.


Introduction

The hyperoperations naturally extend the
arithmetical operations Arithmetic () is an elementary part of mathematics that consists of the study of the properties of the traditional operations on numbers—addition, subtraction, multiplication, division, exponentiation, and extraction of roots. In the 19th ce ...
of
addition Addition (usually signified by the Plus and minus signs#Plus sign, plus symbol ) is one of the four basic Operation (mathematics), operations of arithmetic, the other three being subtraction, multiplication and Division (mathematics), division. ...
and
multiplication Multiplication (often denoted by the cross symbol , by the mid-line dot operator , by juxtaposition, or, on computers, by an asterisk ) is one of the four elementary mathematical operations of arithmetic, with the other ones being additi ...
as follows.
Addition Addition (usually signified by the Plus and minus signs#Plus sign, plus symbol ) is one of the four basic Operation (mathematics), operations of arithmetic, the other three being subtraction, multiplication and Division (mathematics), division. ...
by a
natural number In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country"). Numbers used for counting are called ''Cardinal n ...
is defined as iterated incrementation: : \begin H_1(a,b) = a+b = & a+\underbrace \\ & b\mbox1 \end
Multiplication Multiplication (often denoted by the cross symbol , by the mid-line dot operator , by juxtaposition, or, on computers, by an asterisk ) is one of the four elementary mathematical operations of arithmetic, with the other ones being additi ...
by a
natural number In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country"). Numbers used for counting are called ''Cardinal n ...
is defined as iterated
addition Addition (usually signified by the Plus and minus signs#Plus sign, plus symbol ) is one of the four basic Operation (mathematics), operations of arithmetic, the other three being subtraction, multiplication and Division (mathematics), division. ...
: : \begin H_2(a,b) = a\times b = & \underbrace \\ & b\mboxa \end For example, : \begin 4\times 3 & = & \underbrace & = & 12\\ & & 3\mbox4 \end
Exponentiation Exponentiation is a mathematical operation, written as , involving two numbers, the '' base'' and the ''exponent'' or ''power'' , and pronounced as " (raised) to the (power of) ". When is a positive integer, exponentiation corresponds to re ...
for a natural power b is defined as iterated multiplication, which Knuth denoted by a single up-arrow: : \begin a\uparrow b = H_3(a,b) = a^b = & \underbrace\\ & b\mboxa \end For example, : \begin 4\uparrow 3= 4^3 = & \underbrace & = & 64\\ & 3\mbox4 \end
Tetration In mathematics, tetration (or hyper-4) is an operation based on iterated, or repeated, exponentiation. There is no standard notation for tetration, though \uparrow \uparrow and the left-exponent ''xb'' are common. Under the definition as rep ...
is defined as iterated exponentiation, which Knuth denoted by a “double arrow”: : \begin a\uparrow\uparrow b = H_4(a,b) = & \underbrace & = & \underbrace \\ & b\mboxa & & b\mboxa \end For example, : \begin 4\uparrow\uparrow 3 = & \underbrace & = & \underbrace & = & 4^ & \approx & 1.34078079\times 10^& \\ & 3\mbox4 & &3\mbox4 \end Expressions are evaluated from right to left, as the operators are defined to be
right-associative In programming language theory, the associativity of an operator is a property that determines how operators of the same precedence are grouped in the absence of parentheses. If an operand is both preceded and followed by operators (for exampl ...
. According to this definition, :3\uparrow\uparrow 2=3^3=27 :3\uparrow\uparrow 3=3^=3^=7,625,597,484,987 :3\uparrow\uparrow 4=3^=3^=3^\approx 1.2580143\times 10^ :3\uparrow\uparrow 5=3^=3^=3^\approx 3^ :etc. This already leads to some fairly large numbers, but the hyperoperator sequence does not stop here.
Pentation In mathematics, pentation (or hyper-5) is the next hyperoperation after tetration and before hexation. It is defined as iterated (repeated) tetration, just as tetration is iterated exponentiation. It is a binary operation defined with two numb ...
, defined as iterated tetration, is represented by the “triple arrow”: : \begin a\uparrow\uparrow\uparrow b = H_5(a,b) = & \underbrace\\ & b\mboxa \end
Hexation In mathematics, the hyperoperation sequence is an infinite sequence of arithmetic operations (called ''hyperoperations'' in this context) that starts with a unary operation (the successor function with ''n'' = 0). The sequence continues with the ...
, defined as iterated pentation, is represented by the “quadruple arrow”: : \begin a\uparrow\uparrow\uparrow\uparrow b = H_6(a,b) = & \underbrace\\ & b\mboxa \end and so on. The general rule is that an n-arrow operator expands into a right-associative series of (n - 1)-arrow operators. Symbolically, : \begin a\ \underbrace_\ b= \underbrace_ \end Examples: :3\uparrow\uparrow\uparrow2 = 3\uparrow\uparrow3 = 3^ = 3^=7,625,597,484,987 : \begin 3\uparrow\uparrow\uparrow3 = 3\uparrow\uparrow(3\uparrow\uparrow3) = 3\uparrow\uparrow(3\uparrow3\uparrow3) = & \underbrace \\ & 3\uparrow3\uparrow3\mbox3 \end \begin = & \underbrace \\ & \mbox \end \begin = & \underbrace \\ & \mbox \end


Notation

In expressions such as a^b, the notation for exponentiation is usually to write the exponent b as a superscript to the base number a. But many environments — such as
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s and plain-text
e-mail Electronic mail (email or e-mail) is a method of exchanging messages ("mail") between people using electronic devices. Email was thus conceived as the electronic ( digital) version of, or counterpart to, mail, at a time when "mail" meant ...
— do not support
superscript A subscript or superscript is a character (such as a number or letter) that is set slightly below or above the normal line of type, respectively. It is usually smaller than the rest of the text. Subscripts appear at or below the baseline, whil ...
typesetting. People have adopted the linear notation a \uparrow b for such environments; the up-arrow suggests 'raising to the power of'. If the
character set Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using digital computers. The numerical values that ...
does not contain an up arrow, the
caret Caret is the name used familiarly for the character , provided on most QWERTY keyboards by typing . The symbol has a variety of uses in programming and mathematics. The name "caret" arose from its visual similarity to the original proofreade ...
(^) is used instead. The superscript notation a^b doesn't lend itself well to generalization, which explains why Knuth chose to work from the inline notation a \uparrow b instead. a \uparrow^n b is a shorter alternative notation for n uparrows. Thus a \uparrow^4 b = a \uparrow \uparrow \uparrow \uparrow b. Knuth's arrows have become quite popular.


Writing out up-arrow notation in terms of powers

Attempting to write a \uparrow \uparrow b using the familiar superscript notation gives a
power tower Power Tower is a thrill ride located at two Cedar Fair parks in the US, Cedar Point and Valleyfair. The attractions are powered by air in large cylinders in which an aircraft steel cable, connected to the internal piston, travels and is also c ...
. :For example: a \uparrow \uparrow 4 = a \uparrow (a \uparrow (a \uparrow a)) = a^ If ''b'' is a variable (or is too large), the power tower might be written using dots and a note indicating the height of the tower. :a \uparrow \uparrow b = \underbrace_ Continuing with this notation, a \uparrow \uparrow \uparrow b could be written with a stack of such power towers, each describing the size of the one above it. :a \uparrow \uparrow \uparrow 4 = a \uparrow \uparrow (a \uparrow \uparrow (a \uparrow \uparrow a)) = \underbrace_ Again, if ''b'' is a variable or is too large, the stack might be written using dots and a note indicating its height. :a \uparrow \uparrow \uparrow b = \left. \underbrace_ \right\} b Furthermore, a \uparrow \uparrow \uparrow \uparrow b might be written using several columns of such stacks of power towers, each column describing the number of power towers in the stack to its left: :a \uparrow \uparrow \uparrow \uparrow 4 = a \uparrow \uparrow \uparrow (a \uparrow \uparrow \uparrow (a \uparrow \uparrow \uparrow a)) = \left.\left.\left. \underbrace_ \right\} \underbrace_ \right\} \underbrace_ \right\} a And more generally: :a \uparrow \uparrow \uparrow \uparrow b = \underbrace \underbrace_ \right\} \cdots \right\} a }_ This might be carried out indefinitely to represent a \uparrow^n b as iterated exponentiation of iterated exponentiation for any ''a'', ''n'' and ''b'' (although it clearly becomes rather cumbersome).


Using tetration

The Rudy Rucker notation ^a for
tetration In mathematics, tetration (or hyper-4) is an operation based on iterated, or repeated, exponentiation. There is no standard notation for tetration, though \uparrow \uparrow and the left-exponent ''xb'' are common. Under the definition as rep ...
allows us to make these diagrams slightly simpler while still employing a geometric representation (we could call these ''tetration towers''). : a \uparrow \uparrow b = ^a : a \uparrow \uparrow \uparrow b = \underbrace_ : a \uparrow \uparrow \uparrow \uparrow b = \left. \underbrace_ \right\} b Finally, as an example, the fourth Ackermann number 4 \uparrow^4 4 could be represented as: : \underbrace_ = \underbrace_


Generalizations

Some numbers are so large that multiple arrows of Knuth's up-arrow notation become too cumbersome; then an ''n''-arrow operator \uparrow^n is useful (and also for descriptions with a variable number of arrows), or equivalently,
hyper operator In mathematics, the hyperoperation sequence is an infinite sequence of arithmetic operations (called ''hyperoperations'' in this context) that starts with a unary operation (the successor function with ''n'' = 0). The sequence continues with the ...
s. Some numbers are so large that even that notation is not sufficient. The
Conway chained arrow notation Conway chained arrow notation, created by mathematician John Horton Conway, is a means of expressing certain extremely large numbers. It is simply a finite sequence of positive integers separated by rightward arrows, e.g. 2\to3\to4\to5\to6. As wit ...
can then be used: a chain of three elements is equivalent with the other notations, but a chain of four or more is even more powerful. : \begin a\uparrow^n b & = & a +2b & = & a\to b\to n \\ \mbox & & \mbox & & \mbox \end 6\uparrow\uparrow4 = \underbrace_, Since 6\uparrow\uparrow4 = 6^ = 6^, Thus the result comes out with \underbrace_ 10\uparrow(3\times10\uparrow(3\times10\uparrow15)+3) = \underbrace_ or 10^ (Petillion) Even faster-growing functions can be categorized using an ordinal analysis called the
fast-growing hierarchy In computability theory, computational complexity theory and proof theory, a fast-growing hierarchy (also called an extended Grzegorczyk hierarchy) is an ordinal-indexed family of rapidly increasing functions ''f''α: N → N (where N is the set of ...
. The fast-growing hierarchy uses successive function iteration and diagonalization to systematically create faster-growing functions from some base function f(x). For the standard fast-growing hierarchy using f_0(x) = x+1, f_3(x) already exhibits exponential growth, f_4(x) is comparable to tetrational growth and is upper-bounded by a function involving the first four hyperoperators;. Then, f_\omega(x) is comparable to the
Ackermann function In computability theory, the Ackermann function, named after Wilhelm Ackermann, is one of the simplest and earliest-discovered examples of a total computable function that is not primitive recursive. All primitive recursive functions are total ...
, f_(x) is already beyond the reach of indexed arrows but can be used to approximate Graham's number, and f_(x) is comparable to arbitrarily-long Conway chained arrow notation. These functions are all computable. Even faster computable functions, such as the
Goodstein sequence In mathematical logic, Goodstein's theorem is a statement about the natural numbers, proved by Reuben Goodstein in 1944, which states that every ''Goodstein sequence'' eventually terminates at 0. Kirby and Paris showed that it is unprovable in Pea ...
and the TREE sequence require the usage of large ordinals, may occur in certain combinatorical and proof-theoretic contexts. There exists functions which grow uncomputably fast, such as the Busy Beaver, whose very nature will be completely out of reach from any up-arrow, or even any ordinal-based analysis.


Definition

Without reference to
hyperoperation In mathematics, the hyperoperation sequence is an infinite sequence of arithmetic operations (called ''hyperoperations'' in this context) that starts with a unary operation (the successor function with ''n'' = 0). The sequence continues with ...
the up-arrow operators can be formally defined by : a\uparrow^n b= \begin a^b, & \textn=1; \\ 1, & \textn>1\textb=0; \\ a\uparrow^(a\uparrow^(b-1)), & \text \end for all integers a, b, n with a \ge 0, n \ge 1, b \ge 0. This definition uses
exponentiation Exponentiation is a mathematical operation, written as , involving two numbers, the '' base'' and the ''exponent'' or ''power'' , and pronounced as " (raised) to the (power of) ". When is a positive integer, exponentiation corresponds to re ...
(a\uparrow^1 b = a\uparrow b = a^b) as the base case, and
tetration In mathematics, tetration (or hyper-4) is an operation based on iterated, or repeated, exponentiation. There is no standard notation for tetration, though \uparrow \uparrow and the left-exponent ''xb'' are common. Under the definition as rep ...
(a\uparrow^2 b = a\uparrow\uparrow b) as repeated exponentiation. This is equivalent to the hyperoperation sequence except it omits the three more basic operations of succession,
addition Addition (usually signified by the Plus and minus signs#Plus sign, plus symbol ) is one of the four basic Operation (mathematics), operations of arithmetic, the other three being subtraction, multiplication and Division (mathematics), division. ...
and
multiplication Multiplication (often denoted by the cross symbol , by the mid-line dot operator , by juxtaposition, or, on computers, by an asterisk ) is one of the four elementary mathematical operations of arithmetic, with the other ones being additi ...
. One can alternatively choose
multiplication Multiplication (often denoted by the cross symbol , by the mid-line dot operator , by juxtaposition, or, on computers, by an asterisk ) is one of the four elementary mathematical operations of arithmetic, with the other ones being additi ...
(a\uparrow^0 b = a \times b) as the base case and iterate from there. Then
exponentiation Exponentiation is a mathematical operation, written as , involving two numbers, the '' base'' and the ''exponent'' or ''power'' , and pronounced as " (raised) to the (power of) ". When is a positive integer, exponentiation corresponds to re ...
becomes repeated multiplication. The formal definition would be : a\uparrow^n b= \begin a\times b, & \textn=0; \\ 1, & \textn>0\textb=0; \\ a\uparrow^(a\uparrow^(b-1)), & \text \end for all integers a, b, n with a \ge 0, n \ge 0, b \ge 0. Note, however, that Knuth did not define the "nil-arrow" (\uparrow^0). One could extend the notation to negative indices (n ≥ -2) in such a way as to agree with the entire hyperoperation sequence, except for the lag in the indexing: :H_n(a, b) = a b = a \uparrow^b\text n \ge 0. The up-arrow operation is a right-associative operation, that is, a \uparrow b \uparrow c is understood to be a \uparrow (b \uparrow c), instead of (a \uparrow b) \uparrow c. If ambiguity is not an issue parentheses are sometimes dropped.


Tables of values


Computing 0↑''n'' ''b''

Computing 0\uparrow^n b = H_(0,b) = 0 +2 results in :0, when ''n'' = 0  Keep in mind that Knuth did not define the operator \uparrow^0. :1, when ''n'' = 1 and ''b'' = 0   For more details, see Powers of zero.For more details, see
Zero to the power of zero Zero to the power of zero, denoted by , is a mathematical expression that is either defined as 1 or left undefined, depending on context. In algebra and combinatorics, one typically defines  . In mathematical analysis, the expression is som ...
.
:0, when ''n'' = 1 and ''b'' > 0   :1, when ''n'' > 1 and ''b'' is even (including 0) :0, when ''n'' > 1 and ''b'' is odd


Computing 2↑''n'' ''b''

Computing 2\uparrow^n b can be restated in terms of an infinite table. We place the numbers 2^b in the top row, and fill the left column with values 2. To determine a number in the table, take the number immediately to the left, then look up the required number in the previous row, at the position given by the number just taken. The table is the same as that of the Ackermann function, except for a shift in n and b, and an addition of 3 to all values.


Computing 3↑''n'' ''b''

We place the numbers 3^b in the top row, and fill the left column with values 3. To determine a number in the table, take the number immediately to the left, then look up the required number in the previous row, at the position given by the number just taken.


Computing 4↑''n'' ''b''

We place the numbers 4^b in the top row, and fill the left column with values 4. To determine a number in the table, take the number immediately to the left, then look up the required number in the previous row, at the position given by the number just taken.


Computing 10↑''n'' ''b''

We place the numbers 10^b in the top row, and fill the left column with values 10. To determine a number in the table, take the number immediately to the left, then look up the required number in the previous row, at the position given by the number just taken. For 2 ≤ ''b'' ≤ 9 the numerical order of the numbers 10\uparrow^n b is the
lexicographical order In mathematics, the lexicographic or lexicographical order (also known as lexical order, or dictionary order) is a generalization of the alphabetical order of the dictionaries to sequences of ordered symbols or, more generally, of elements of a ...
with ''n'' as the most significant number, so for the numbers of these 8 columns the numerical order is simply line-by-line. The same applies for the numbers in the 97 columns with 3 ≤ ''b'' ≤ 99, and if we start from ''n'' = 1 even for 3 ≤ ''b'' ≤ 9,999,999,999.


See also

*
Primitive recursion In computability theory, a primitive recursive function is roughly speaking a function that can be computed by a computer program whose loops are all "for" loops (that is, an upper bound of the number of iterations of every loop can be determined ...
*
Hyperoperation In mathematics, the hyperoperation sequence is an infinite sequence of arithmetic operations (called ''hyperoperations'' in this context) that starts with a unary operation (the successor function with ''n'' = 0). The sequence continues with ...
* Busy beaver * Cutler's bar notation *
Tetration In mathematics, tetration (or hyper-4) is an operation based on iterated, or repeated, exponentiation. There is no standard notation for tetration, though \uparrow \uparrow and the left-exponent ''xb'' are common. Under the definition as rep ...
*
Pentation In mathematics, pentation (or hyper-5) is the next hyperoperation after tetration and before hexation. It is defined as iterated (repeated) tetration, just as tetration is iterated exponentiation. It is a binary operation defined with two numb ...
*
Ackermann function In computability theory, the Ackermann function, named after Wilhelm Ackermann, is one of the simplest and earliest-discovered examples of a total computable function that is not primitive recursive. All primitive recursive functions are total ...
* Graham's number *
Steinhaus–Moser notation In mathematics, Steinhaus–Moser notation is a notation for expressing certain large numbers. It is an extension (devised by Leo Moser) of Hugo Steinhaus's polygon notation. Definitions : 20px, n in a triangle a number in a triangle means nn ...


Notes


References


External links

* * Robert Munafo,
Large Numbers: Higher hyper operators
' {{Donald E. Knuth Mathematical notation Large numbers Donald Knuth 1976 introductions